package main

import (
	"fmt"
)

func main() {
	//局部变量
	//字符类型, 本质上就是一个整数, 也可以直接参与运算
	//输出字符的时候,会将对应的码值做一个输出
	//字母,数字,标点等字符,底层是按照ASCII进行存储
	//97
	var c1 byte = 'a'
	fmt.Println(c1)

	//54
	var c2 byte = '6'
	fmt.Println(c2)

	//40
	var c3 byte = '('
	fmt.Println(c3)

	fmt.Println("-------- -------- -------- -------- --------")

	//汉字字符对应的是Unicode码(前128位是ASCII, UTF-8是编码方式)
	//'中' 对应的码值为20013,byte类型溢出,那么需要使用能存储的范围
	//golang的字符对应的使用的是UTF-8编码
	//Unicode是对应的字符集,UTF-8是Unicode的其中的一种编码方案
	var c4 int = '中'
	fmt.Println(c4)

	//想显示字符需要进行格式化
	var c5 int = 'A'
	fmt.Printf("c5值对应的字符是: %c", c5)
	fmt.Println()

	//转义字符
	// \n 换行
	fmt.Println("aaa\nbbb")

	// \b退格
	fmt.Println("aaa\bbbb")

	// \r 光标回到本行的开头, 后续输入会替换原有的字符
	fmt.Println("aaaa\rbb")

	// \t 制表符
	fmt.Println("aaaaaaaa")
	fmt.Println("aaaa\tbbb")
	fmt.Println("aaaaa\tbbb")

	// \
	fmt.Println("\"golang\"")

}
